package cn.cjxy.javaweb.servlet.request;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 *
 * 请求参数相关方法
 * 方法名	描述
 * String getParameter(String name)	通过参数的名字得到参数值
 * String[] getParameterValues(String name)	得到所有同名的参数值，一般用复选框。 返回一个字符串数组
 * Enumeration<String> getParameterNames()	得到所有的参数名字，返回枚举类型
 * Map<String,String[]> getParameterMap()	得到所有参数名和值，封装成Map对象 键就是参数名字，值就是参数的值
 *
 *  准备一个表单，将数据提交到后台的servlet，在servle中获取前端提交的参数
 * @author huangjie
 * @date 2025/9/29
 */
@WebServlet("/reqdemo2")
public class RequestDemo2 extends HttpServlet {
    //处理post方法
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //解决汉字乱码问题
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter writer = resp.getWriter();
        //得到某个参数值
        String name = req.getParameter("name");
        String gender = req.getParameter("gender");
        writer.println("用户姓名:" + name);
        writer.println("用户性别:" + gender);
        //得到同名参数值
        String[] hobbies = req.getParameterValues("hobby");
        for (String hobby : hobbies) {
            writer.println("用户提交的爱好是:"+hobby);
        }
    }
}
